// function g(id){
// 	return document.getElementById(id);
// }
// function css(id, key, valur){
// 	//简单样式属性设置
// 	g(id).style[key] = value;
// }
// function attr(id, key, value){
// 	g(id).style[key] = value;
// }
// function attr(id, value){
// 	g(id).innerHTML = value;
// }
// function on(id, type, fn){
// 	g(id)['on' + type] = fn;
// }

// var Ming = {
// 	g : function(id){
// 		return document.getElementById(id);
// 	},
// 	css : function(id, key, value){
// 		//简单样式属性设置
// 	g(id).style[key] = value;
// 	}
// 	//....

	//创建一个小型代码库
	var A = {
		Util : {
			util_method1 : function(){},
			util_method2 : function(){}
			//...
		},
		Tool : {
			tool_method1 : function(){},
			tool_method2 : function(){}
			//...
		},
		Ajax : {
			get : function(){},
			post : function(){}
			//...
		},
		others : {
			//...
		}
		//...
	}
A.Util.util_method2();
A.Tool.tool_method1();
A.Ajax.get();

//无法修改的静态变量
var Conf = (function(){
	//私有变量
	var conf = {
		MAX_NUM : 100,
		MIN_NUM : 1,
		COUNT : 1000
	}
	//返回取值器对象
	return {
		//取值器方法
		get : function(name){
			return conf[name] ? conf[name] : null;
		}
	}
})();

var count = Conf.get('COUNT');
console.log(count);

//惰性单列
var LazySingle = (function(){
	//单列实例引用
	var _instance = null;
	//单例
	function Single(){
		/*这里定义私有属性和方法*/
		return {
			publiceMethod : function(){},
			publiceMethod : '1.0'
		}
	}
	//获取单例对象接口
	return function(){
		//如果创建单例将创建单例
		if(!_instance){
			_instance = Single();
			//返回单例
			return _instance;
		}
	}
})();

console.log(LazySingle().publiceMethod);